
export type IFormItem = {
    label: string
    labelWidth: string
    placeholder: string
}
export type IElBtnType = {
    text: string
    type: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text'
}
export interface IStreamControlState {
    [key: string]: any
    header: string
    dialog: {
        visible: boolean
        title: string
        confirm: IElBtnType
        cancel: IElBtnType
    }
    recordBtn: IElBtnType
    recordDialog: {
        slider: {
            label: string
            labelWidth: string
            min: number
            max: number
            duration: number
            formatter: (value: number) => string
        }
        typeOpts: {
            label: string
            value: string
        }[]
    }
    snapshotBtn: IElBtnType
    snapshotDialog: {
        typeOpts: {
            label: string
            value: string
        }[]
    }
    common: {
        name: IFormItem
        path: IFormItem
        type: IFormItem
    }
    form: {
        name: string
        path: string
        type: string
        duration?: number
    }
    streamState: Map<string, {
        status: boolean
        wsPort: number | string
        pos?:{
            x: number | string
            y: number | string
            z: number | string
        },
        camera?: any
    }>
}
export interface IStreamControlActions {
    [key: string]: any
}
export interface IStreamControlGetter {
    [key: string]: any
}
export interface IStreamControlMutations {
    [key: string]: any
}


